package promotion.model;

import org.jdom.Element;

/**
 * Classe représentant une adresse d'étudiant
 * @author marya
 */
public class Adresse {

    private String voie;
    private String ville;
    private String codePostal;
    private String pays;

    /**
     * Constructeur
     * @param voie 
     * @param ville
     * @param codePostal
     * @param pays
     */
    public Adresse(String voie, String ville, String codePostal, String pays) {
        this.voie = voie;
        this.ville = ville;
        this.codePostal = codePostal;
        this.pays = pays;
    }

    /**
     * Récupère le code postal
     * @return codePostal
     */
    public String getCodePostal() {
        return codePostal;
    }

    /**
     * Met à jour le code postal
     * @param codePostal
     */
    public void setCodePostal(String codePostal) {
        this.codePostal = codePostal;
    }

    public String getPays() {
        return pays;
    }

    public void setPays(String pays) {
        this.pays = pays;
    }

    public String getVille() {
        return ville;
    }

    public void setVille(String ville) {
        this.ville = ville;
    }

    public String getVoie() {
        return voie;
    }

    public void setVoie(String voie) {
        this.voie = voie;
    }

    /**
     * Permet à une instance de cette classe de
     * générer elle-même l'element JDOM lui correspondant
     * @return element JDOM
     */
    public Element toJDOMElement() {
        Element racine = new Element("adresse");

        Element elementVoie = new Element("voie");
        elementVoie.setText(voie);

        Element elementVille = new Element("ville");
        elementVille.setText(ville);

        Element elementCodePostal = new Element("codePostal");
        elementCodePostal.setText(codePostal);

        Element elementPays = new Element("pays");
        elementPays.setText(pays);

        racine.addContent(elementVoie);
        racine.addContent(elementVille);
        racine.addContent(elementCodePostal);
        racine.addContent(elementPays);
        return racine;
    }
}
